#pragma once
#include "controller.h"
#include "BodyRailControlLogic.h"
#include "ControlStatus.h"


class BodyRailControlLogic;


class BodyRailController :
	public Controller
{
	int positionCounter;
	bool endOfRail;

	float timer;
	float stepInterval;

	int lapCounter;

	std::queue<Projectile> mapElementQueue;

	BodyRailControlLogic * controlLogic;
public:
	BodyRailController(BodyRailControlLogic *);
	~BodyRailController(void);

	bool apply(EntityControl* entity, const ControlContext& context);


	bool isSpawningNeeded();
	Projectile getNextSpawnItem();


};

